package entity;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Embeddable;
import javax.persistence.Embedded;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name = "itemsOrdenProduccion")
public class ItemOrdenProduccionBD {

	@EmbeddedId
	private ItemOrdenProduccionID pkItemOrdenProduccion;

	@Embedded
	@OneToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "idProducto")
	private SemielaboradoBD semielaborado;

	private Integer cantidadRealizada;
	private Integer cantidadSolicitada;

	public ItemOrdenProduccionBD() {
	}

	public Integer getCantidadRealizada() {
		return cantidadRealizada;
	}

	public void setCantidadRealizada(Integer cantidadRealizada) {
		this.cantidadRealizada = cantidadRealizada;
	}

	public Integer getCantidadSolicitada() {
		return cantidadSolicitada;
	}

	public void setCantidadSolicitada(Integer cantidadSolicitada) {
		this.cantidadSolicitada = cantidadSolicitada;
	}

	public SemielaboradoBD getSemielaborado() {
		return semielaborado;
	}

	public void setSemielaborado(SemielaboradoBD semielaborado) {
		this.semielaborado = semielaborado;
	}

	public void setIdOrdenCompra(Integer idOrdenProduccion) {
		this.pkItemOrdenProduccion.setIdOrdenProduccion(idOrdenProduccion);
	}

}

@Embeddable
class ItemOrdenProduccionID implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer numero;
	private Integer renglon;

	public ItemOrdenProduccionID() {
	}

	public Integer getIdOrdenProduccion() {
		return numero;
	}

	public void setIdOrdenProduccion(Integer idOrdenProduccion) {
		this.numero = idOrdenProduccion;
	}

	public Integer getIdItemOrdenProduccion() {
		return renglon;
	}

	public void setIdItemOrdenProduccion(Integer idItemOrdenProduccion) {
		this.renglon = idItemOrdenProduccion;
	}
}